package cn.zl.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class UserSettingConfig {

    /**
     * 部分设备需要扩展SDP，需要打开此设置
     * */
    @Value("${user-setting.senior-sdp:false}")
    private boolean seniorSdp ;

    /**
     * 点播/录像回放 等待超时时间,单位：毫秒
     * */
    @Value("${user-setting.play-timeout:10000}")
    private long playTimeout = 10000;
    /**
     * 是否开启sip日志
     */
    @Value("${user-setting.sip-log:false}")
    private boolean sipLog;
    /**
     * 是否使用设备来源Ip作为回复IP， 不设置则为 false
     */
    @Value("${user-settings.sip-use-source-ip-as-remote-address:false}")
    private boolean sipUseSourceIpAsRemoteAddress;
    /**
     * 设备上线时是否自动同步通道
     */
    @Value("${user-settings.sync-channel-on-device-online:true}")
    private boolean syncChannelOnDeviceOnline;
    /**
     * # 国标设备离线后的上线策略，
     * # 0： 国标标准实现，设备离线后不回复心跳，直到设备重新注册上线，
     * # 1（默认）： 对于离线设备，收到心跳就把设备设置为上线，并更新注册时间为上次这次心跳的时间。防止过期时间判断异常
     */
    @Value("${user-settings.gb-device-online:1}")
    private int gbDeviceOnline;

    public boolean isSeniorSdp() {
        return seniorSdp;
    }

    public long getPlayTimeout() {
        return playTimeout;
    }

    public boolean isSipLog() {
        return sipLog;
    }

    public boolean isSipUseSourceIpAsRemoteAddress() {
        return sipUseSourceIpAsRemoteAddress;
    }

    public boolean isSyncChannelOnDeviceOnline() {
        return syncChannelOnDeviceOnline;
    }

    public int getGbDeviceOnline() {
        return gbDeviceOnline;
    }
}
